package com.ruoyi.system.domain.sz;

import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 个人信息对象 sz_personal
 * 
 * @author ruoyi
 * @date 2024-03-14
 */
public class SzPersonal extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 个人ID */
    private Long personalId;

    /** 部门ID */
//    @Excel(name = "部门ID")
    private Long deptId;

    /** 个人姓名 */
    @Excel(name = "个人姓名")
    private String personalName;

    /** 用户性别（0男 1女 2未知） */
//    @Excel(name = "用户性别", readConverterExp = "0=男,1=女,2=未知")
    private String sex;

    /** 民族，字典项（sz_staff_nation） */
//    @Excel(name = "民族，字典项", dictType = "sz_staff_nation")
    private String nation;

    /** 籍贯 */
//    @Excel(name = "籍贯")
    private String nativePlace;

    /** 出生地 */
//    @Excel(name = "出生地")
    private String birthplace;

    /** 身份证 */
//    @Excel(name = "身份证")
    private String idNumber;

    /** 家庭地址 */
//    @Excel(name = "家庭地址")
    private String familyAddress;

    /** 手机号码 */
    @Excel(name = "手机号码")
    private String phone;

    /** 出生日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
//    @Excel(name = "出生日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date birthday;

    /** 政治面貌，字典项（sz_staff_political） */
    @Excel(name = "政治面貌，字典项", dictType = "sz_staff_political")
    private String politicalStatus;

    /** 参加工作时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "参加工作时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date workYears;

    /** 参加机要工作时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "参加机要工作时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date sensitiveWorkYears;

    /** 头像地址 */
//    @Excel(name = "头像地址")
    private String avatar;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 审批阶段（待上报0，审批中1，待培训3，在岗中3，年度政审 3，待转岗5，转岗审批6，离岗审批7，脱密期8）） */
//    @Excel(name = "审批阶段", readConverterExp = "0=待上报，1=审批中，2=待培训，3=在岗中，4=年度政审，5=待转岗，6=转岗审批，7=离岗审批，8=脱密期")
    private String status;

    /**0=政审中，1=政审完毕*/
    private String politicType;

    /**民族中文*/
    private String nationName;
    /**政治面貌中文*/
    private String politicalName;

    /** 个人信息-工作经历信息 */
    private List<SzPersonalWork> szPersonalWorkList;
    /**个人信息-教育经历对象*/
    private List<SzPersonalEducation> szPersonalEducationList;
    /**个人信息-家庭成员对象*/
    private List<SzPersonalFamily> szPersonalFamilyList;
    /**个人信息-岗前备案对象*/
    private SzPersonalRecord szPersonalRecord;
    /**个人信息-附件对象*/
    private List<SzPersonalFile> szPersonalFileList;

    public String getNationName() {
        return nationName;
    }

    public void setNationName(String nationName) {
        this.nationName = nationName;
    }

    public String getPoliticalName() {
        return politicalName;
    }

    public void setPoliticalName(String politicalName) {
        this.politicalName = politicalName;
    }

    public List<SzPersonalFile> getSzPersonalFileList() {
        return szPersonalFileList;
    }

    public void setSzPersonalFileList(List<SzPersonalFile> szPersonalFileList) {
        this.szPersonalFileList = szPersonalFileList;
    }

    public String getPoliticType() {
        return politicType;
    }

    public void setPoliticType(String politicType) {
        this.politicType = politicType;
    }

    public List<SzPersonalEducation> getSzPersonalEducationList() {
        return szPersonalEducationList;
    }

    public void setSzPersonalEducationList(List<SzPersonalEducation> szPersonalEducationList) {
        this.szPersonalEducationList = szPersonalEducationList;
    }

    public List<SzPersonalFamily> getSzPersonalFamilyList() {
        return szPersonalFamilyList;
    }

    public void setSzPersonalFamilyList(List<SzPersonalFamily> szPersonalFamilyList) {
        this.szPersonalFamilyList = szPersonalFamilyList;
    }

    public SzPersonalRecord getSzPersonalRecord() {
        return szPersonalRecord;
    }

    public void setSzPersonalRecord(SzPersonalRecord szPersonalRecord) {
        this.szPersonalRecord = szPersonalRecord;
    }

    public void setPersonalId(Long personalId)
    {
        this.personalId = personalId;
    }

    public Long getPersonalId() 
    {
        return personalId;
    }
    public void setDeptId(Long deptId) 
    {
        this.deptId = deptId;
    }

    public Long getDeptId() 
    {
        return deptId;
    }
    public void setPersonalName(String personalName) 
    {
        this.personalName = personalName;
    }

    public String getPersonalName() 
    {
        return personalName;
    }
    public void setSex(String sex) 
    {
        this.sex = sex;
    }

    public String getSex() 
    {
        return sex;
    }
    public void setNation(String nation) 
    {
        this.nation = nation;
    }

    public String getNation() 
    {
        return nation;
    }
    public void setNativePlace(String nativePlace) 
    {
        this.nativePlace = nativePlace;
    }

    public String getNativePlace() 
    {
        return nativePlace;
    }
    public void setBirthplace(String birthplace) 
    {
        this.birthplace = birthplace;
    }

    public String getBirthplace() 
    {
        return birthplace;
    }
    public void setIdNumber(String idNumber) 
    {
        this.idNumber = idNumber;
    }

    public String getIdNumber() 
    {
        return idNumber;
    }
    public void setFamilyAddress(String familyAddress) 
    {
        this.familyAddress = familyAddress;
    }

    public String getFamilyAddress() 
    {
        return familyAddress;
    }
    public void setPhone(String phone) 
    {
        this.phone = phone;
    }

    public String getPhone() 
    {
        return phone;
    }
    public void setBirthday(Date birthday) 
    {
        this.birthday = birthday;
    }

    public Date getBirthday() 
    {
        return birthday;
    }
    public void setPoliticalStatus(String politicalStatus) 
    {
        this.politicalStatus = politicalStatus;
    }

    public String getPoliticalStatus() 
    {
        return politicalStatus;
    }

    public Date getWorkYears() {
        return workYears;
    }

    public void setWorkYears(Date workYears) {
        this.workYears = workYears;
    }

    public Date getSensitiveWorkYears() {
        return sensitiveWorkYears;
    }

    public void setSensitiveWorkYears(Date sensitiveWorkYears) {
        this.sensitiveWorkYears = sensitiveWorkYears;
    }

    public void setAvatar(String avatar)
    {
        this.avatar = avatar;
    }

    public String getAvatar() 
    {
        return avatar;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public List<SzPersonalWork> getSzPersonalWorkList()
    {
        return szPersonalWorkList;
    }

    public void setSzPersonalWorkList(List<SzPersonalWork> szPersonalWorkList)
    {
        this.szPersonalWorkList = szPersonalWorkList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("personalId", getPersonalId())
            .append("deptId", getDeptId())
            .append("personalName", getPersonalName())
            .append("sex", getSex())
            .append("nation", getNation())
            .append("nativePlace", getNativePlace())
            .append("birthplace", getBirthplace())
            .append("idNumber", getIdNumber())
            .append("familyAddress", getFamilyAddress())
            .append("phone", getPhone())
            .append("birthday", getBirthday())
            .append("politicalStatus", getPoliticalStatus())
            .append("workYears", getWorkYears())
            .append("sensitiveWorkYears", getSensitiveWorkYears())
            .append("avatar", getAvatar())
            .append("delFlag", getDelFlag())
            .append("status", getStatus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("szPersonalWorkList", getSzPersonalWorkList())
            .toString();
    }
}
